package 设置线程优先级;

import java.util.Random;

class Mythrea1 extends Thread{
	public void run()
	{
		long beginTime=System.currentTimeMillis();
		long addResult =0;
		for(int j=0;j<10;j++)
		{
			for(int i=0;i<5000;i++)
			{
				Random random=new Random();
				random.nextInt();
				addResult=addResult+i;
			}
		}
		long endTime=System.currentTimeMillis();
		System.out.println("******thread 1 use time="+(endTime-beginTime));
	}
}
class Mythrea2 extends Thread{
	public void run()
	{
		long beginTime=System.currentTimeMillis();
		long addResult =0;
		for(int j=0;j<10;j++)
		{
			for(int i=0;i<5000;i++)
			{
				Random random=new Random();
				random.nextInt();
				addResult=addResult+i;
			}
		}
		long endTime=System.currentTimeMillis();
		System.out.println("******thread 2 use time="+(endTime-beginTime));
		
	}
}
public class Test1_55 {

	public static void main(String[] args) {
		// TODO Auto-generated method stub
		for(int i=0;i<5;i++)
		{
			Mythrea1 thread1=new Mythrea1();
			thread1.setPriority(7);
			thread1.start();
			Mythrea2 thread2=new Mythrea2();
			thread2.setPriority(6);
			thread2.start();//线程优先级与代码执行顺序无关，优先级越高，就先执行，线程的优先级具有一定的
							//规则性，也就是cpu尽量将执行资源让给优先级比较高的线程，但是不是每次优先级较高的线程都先执行完
							//因为线程的"随机性"，当两个线程的优先级比较相近时，就会出现这种状况。同时线程的优先级与打印顺序无关，他们具有不确定性
							//和随机性
		}

	}

}
